-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WinUI Navigation Handler #801
Conversation
01a6c00
to
2bb6458
Compare
string path; | ||
|
||
#if WINDOWS_UWP | ||
path = Windows.Storage.ApplicationData.Current.LocalFolder.Path; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAICT this code never executed even on old forms
59953b2
to
4455126
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow... Big one. Most look OK, and I am going to trust that because a bunch of the code is copied form the renderer that this is safe to use. I got a few questions more along the line of "what is this doing as I don't understand?"
src/Controls/src/Core/Handlers/NavigationPage/NavigationPageHandler.Windows.cs
Show resolved
Hide resolved
src/Controls/src/Core/Platform/Windows/Extensions/ImageExtensions.cs
Outdated
Show resolved
Hide resolved
src/Controls/src/Core/Platform/Windows/Extensions/PointExtensions.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The usage of the extension methods as normal methods is a little sus :) But no biggie.
Let's merge this one and then we can get nav working
* WinUI Navigation Handler * - PR comments * - consolidate a few more APIs * - fix namespaces * - fix namespaces * Update src/Compatibility/Core/src/WinUI/FlyoutPageRenderer.cs Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
* WinUI Navigation Handler (#801) * WinUI Navigation Handler * - PR comments * - consolidate a few more APIs * - fix namespaces * - fix namespaces * Update src/Compatibility/Core/src/WinUI/FlyoutPageRenderer.cs Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com> * Improve Hot Reload Integration (#851) * Fixes HotReload (#853) Reverts changed from: 7d4d1ce#diff-2b4bb95e12307423f7126d91b43a1511b68d00535e9f2b5f535af85d7a388333R36 * Android Push/Pop Navigation (#837) * Android Navigation * - fix layout * - changes * - yay pushing * - wire up nav to use bundle ids * - cleanup * - setup pop * - build up nav stack * - remove nav push * - remove graph xml * Update global.json * - add android to non net6 controls project * - fix namespace * Update Microsoft.Maui-net6.sln * iOS NavigationPageHandler (#852) * iOS Navigation * - wire up iOS Navigation * - remove VET * - rework with HR * - fix namespace * - fix HR * - fix hr * - fix SO exception * - maybe? * - nullabel fix Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: James Clancey <james.clancey@gmail.com>
* Fix yaml triggers * Run pr's for release branches * Automated dotnet-format update (#839) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Housekeeping] Add provisionating xcode to net6 (#836) * Add provisionating xcode to net6 * Fix essentials device tests * try again * Update dependencies from https://github.com/xamarin/xamarin-android build main-a2156d41275b92de3cf23f7c79801327c74b7fe0-1 (#846) Microsoft.Android.Sdk.Windows From Version 11.0.200-ci.main.226 -> To Version 11.0.200-ci.main.234 Dependency coherency updates Microsoft.Dotnet.Sdk.Internal From Version 6.0.100-preview.4.21215.1 -> To Version 6.0.100-preview.4.21221.10 (parent: Microsoft.Android.Sdk.Windows Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * WinUI Navigation Handler (#801) * WinUI Navigation Handler * - PR comments * - consolidate a few more APIs * - fix namespaces * - fix namespaces * Update src/Compatibility/Core/src/WinUI/FlyoutPageRenderer.cs Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com> * Improve Hot Reload Integration (#851) * Fixes HotReload (#853) Reverts changed from: 7d4d1ce#diff-2b4bb95e12307423f7126d91b43a1511b68d00535e9f2b5f535af85d7a388333R36 * Android Push/Pop Navigation (#837) * Android Navigation * - fix layout * - changes * - yay pushing * - wire up nav to use bundle ids * - cleanup * - setup pop * - build up nav stack * - remove nav push * - remove graph xml * Update global.json * - add android to non net6 controls project * - fix namespace * Update Microsoft.Maui-net6.sln * iOS NavigationPageHandler (#852) * iOS Navigation * - wire up iOS Navigation * - remove VET * - rework with HR * - fix namespace * - fix HR * - fix hr * - fix SO exception * - maybe? * - nullabel fix * Update dependencies from https://github.com/xamarin/xamarin-macios build 20210426.5 (#847) Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk From Version 14.5.100-ci.main.620 -> To Version 14.5.100-ci.main.658 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Rui Marinho <me@ruimarinho.net> * Automated dotnet-format update (#854) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Implement PickerHandler in WinUI (#779) * Implement PickerHandler in WinUI * Enab le nullable in some classes * Fix build error * Register MauiComboBox ResourceDictionary * Updated PickerExtensions * Updated MauiComboBox Co-authored-by: Rachel Kang <rachelkang@microsoft.com> * [Build] Update maestro with macOS and tvOS (#862) * [Build] Update maestro with macOS and tvOS * [Build] Add tvOS and macOS to workload/dogfood * Add Microsoft.iOS.Windows.Sdk Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> * Update README.md (#865) * ContainerViewControllers should use the correct background color. (#868) Also set the title of the VC from a page * Automated dotnet-format update (#872) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Bring back XAML2006/2009 XmlnsDefinition attributes These are required so that things like x:Static can be resolved to Microsoft.Maui.Controls.Xaml.StaticExtension. Co-authored-by: Rui Marinho <me@ruimarinho.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: James Clancey <james.clancey@gmail.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Rachel Kang <rachelkang@microsoft.com> Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> Co-authored-by: 1d0n7kn0w <3910210+1d0n7kn0w@users.noreply.github.com> Co-authored-by: Jonathan Dick <jodick@microsoft.com>
Description of Change
Most of the file changes have to do with namespace changes because of types moved into controls from compatibility and then renaming WINDOWS to WINDOWS
The good bits are all inside the Controls.Core and the Core project
That's the main code to focus on
Changes
Moving files from Compatibility to Controls.Core
Observations
Additions made
UseMauiControlsHandlers
builder extension which will register all the maui controls handlers and whatever other types are neededRemovals made
Testing
WinUI still doesn't draw without a window resize so you have to resize the window, then you can click the navigate button, then resize the window again to see the new page
PR Checklist
Does this PR touch anything that might affect accessibility?
If any of the above checkboxes apply to your PR then the PR will need to provide testing to demonstrate that accessibility still works.